MFC 使用datetimepicker获取时间 您所在的位置:网站首页 mfc datetimepicker MFC 使用datetimepicker获取时间

MFC 使用datetimepicker获取时间

2023-09-28 10:41| 来源: 网络整理| 查看: 265

 

CTime time = CTime::GetCurrentTime();

int year = time.GetYear(); //返回年

int mouth = time.GetMouth(); //返回月份

int date = time.GetDays(); // 返回日数

int hour = time.GetHours(); // 返回小时数(-23至23之间)int min = time.GetMinutes(); // 返回分钟数(-59至59之间)

int sec = time.GetSeconds(); // 返回秒数(-59至59之间)

以下是转载的:CTime以及其它时间差

一、DateTimePicker控件

引用一个DateTimePicker控件,关联变量m_date为DateTimeCtrl类型,然后在响应事件中加入如下代码:

CTime tm;m_date.GetTime(tm);CString strDate=tm.Format("%Y-%m-%d");

就可以获取了...但是不知为何这个还和Vc的版本问题有关,开始时候我用的版本总是出错,或者srtDate为空,或者不是用户选择的日期,后来换了一个VC版本就能得到正确的数据了...

另外如果关联一个CTime类型的变量也能解决上面的问题,但是初始化的日期是1970-01-01而上面方法中初始化的日期是当前日期...所以根据用户需要的设定可以选择任何一种方法进行解决...

========================

实际上,只需要添加 datetimepicker控件的下面这样一个响应函数就可以解决。

void C****Dlg::OnKillfocusDatetimepicker1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here UpdateData(TRUE); *pResult = 0;}

========================

二、CTimeSpan获取时间差

要获取两个时间差,如两个CTime的时间差,可以使用MFC中的CTimeSpan类。

CTime time1 = CTime::GetCurrentTime(); ...其它代码... CTime time2 = CTime::GetCurrentTime(); // 两个CTime相减得到CTimeSpan CTimeSpan timeSpan = time2 - time1; // 得到总的秒数 int nTSeconds = timeSpan.GetTotalSeconds();

注意GetTotalSeconds与GetSeconds的区别:GetTotalSeconds返回总的秒数,GetSeconds返回总是小于60,如:如果时间经过了100秒, GetTotalSeconds返回100,而GetSeconds返回40,因为有60秒转为一分钟了,同时使用GetMinutes会返回1,即1分40秒。其它类似函数:

GetDays(); // 返回日数 GetHours(); // 返回小时数(-23至23之间) GetTotalHours(); // 返回总的小时数 GetMinutes(); // 返回分钟数(-59至59之间) GetTotalMinutes(); // 返回总的分钟数 GetSeconds(); // 返回秒数(-59至59之间) GetTotalSeconds(); // 返回总的秒数 三、CTime总结 1.初始化 m_begintime=CTime(2004,1,1,0,0,0,-1);//参数依次为year,month,day,hour,minite,second m_endtime =CTime::GetCurrentTime();//当前时间2.日期比较CTimeSpan span;span=time1-time2;得到两时间的间隔.可以取得span.GetHours().等3.access数据库查询使用DateDiff()函数,具体参照access帮助CString timesql;timesql.Format(" Where DateDiff('d',%s,'%s')


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有